package com.wwc.member.controller.dto.passenger;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.ToString;

import java.util.Date;

/**
 * 新增和更新乘车人 DTO
 */
@Data
@ToString
public class PassengerInsertAndUpdateDTO{
	/**
	 * id
	 */
	private Long id;
	/**
	 * 会员id
	 */
	private Long memberId;
	/**
	 * 姓名
	 */
	@NotBlank(message = "乘车人姓名不能为空")
	private String name;
	/**
	 * 身份证
	 */
	@NotBlank(message = "乘车人身份证不能为空")
	@Size(max = 18, message = "身份证号，应为18位")
	@Size(min = 18, message = "身份证号，应为18位")
	@Pattern(regexp = "\\d{17}[\\d|x]|\\d{15}", message = "乘车人身份证格式不合法")
	private String idCard;
	/**
	 * 旅客类型|枚举[PassengerTypeEnum]
	 */
	@NotBlank(message = "乘车人类型不能为空")
	private String type;
	/**
	 * 新增时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;
}

